package com.word.teacher.mapper;

import java.util.List;
import com.word.teacher.domain.Word;
import com.word.teacher.domain.WordGroup;

/**
 * 单词信息管理Mapper接口
 * 
 * @author wsccvb
 * @date 2025-05-20
 */
public interface WordMapper 
{
    /**
     * 查询单词信息管理
     * 
     * @param id 单词信息管理主键
     * @return 单词信息管理
     */
    public Word selectWordById(Long id);

    /**
     * 查询单词信息管理列表
     * 
     * @param word 单词信息管理
     * @return 单词信息管理集合
     */
    public List<Word> selectWordList(Word word);

    /**
     * 根据单词ID列表查询单词信息
     *
     * @param wordIdList 单词ID列表
     * @return 单词信息集合
     */
    public List<Word> selectWordListByIdList(List<Long> wordIdList);

    /**
     * 新增单词信息管理
     * 
     * @param word 单词信息管理
     * @return 结果
     */
    public int insertWord(Word word);

    /**
     * 修改单词信息管理
     * 
     * @param word 单词信息管理
     * @return 结果
     */
    public int updateWord(Word word);

    /**
     * 删除单词信息管理
     * 
     * @param id 单词信息管理主键
     * @return 结果
     */
    public int deleteWordById(Long id);

    /**
     * 批量删除单词信息管理
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWordByIds(String[] ids);

    /**
     * 批量删除单词分组
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWordGroupByWordIds(String[] ids);
    
    /**
     * 批量新增单词分组
     * 
     * @param wordGroupList 单词分组列表
     * @return 结果
     */
    public int batchWordGroup(List<WordGroup> wordGroupList);
    

    /**
     * 通过单词信息管理主键删除单词分组信息
     * 
     * @param id 单词信息管理ID
     * @return 结果
     */
    public int deleteWordGroupByWordId(Long id);

    public List<WordGroup> selectWordGroupListByGroupIdList(List<Long> groupIdList);
}
